﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FileTransfer.Vollk.Model
{
    /// <summary>
    /// FTP指令集
    /// </summary>
    /// <remarks>WebRequestMethods.Ftp</remarks>
    public class FtpCmd
    {
        /// <summary>
        /// 设定数据传输格式
        /// </summary>
        /// <remarks>字符格式还是二进制格式</remarks>
        public const string TransferType = "TYPE";
        /// <summary>
        /// 设定下载偏移量
        /// </summary>
        /// <remarks>指定读取文件位置</remarks>
        public const string RestAddress = "REST";
        //
        // 摘要:
        //     表示用于从 FTP 服务器下载文件的 FTP RETR 协议方法。
        public const string DownloadFile = "RETR";
        /// <summary>
        /// 目录列表
        /// </summary>
        /// <remarks>代表获取 FTP 服务器上的文件的简短列表的 FTP NLIST 协议方法。</remarks>
        public const string ListDirectory = "NLST";
        /// <summary>
        /// 上传文件指令
        /// </summary>
        /// <remarks>表示将文件上载到 FTP 服务器的 FTP STOR 协议方法。</remarks>
        public const string UploadFile = "STOR";
        //
        // 摘要:
        //     表示用于删除 FTP 服务器上的文件的 FTP DELE 协议方法。
        public const string DeleteFile = "DELE";
        //
        // 摘要:
        //     表示用于将文件附加到 FTP 服务器上的现有文件的 FTP APPE 协议方法。
        public const string AppendFile = "APPE";
        //
        // 摘要:
        //     表示用于检索 FTP 服务器上的文件的大小的 FTP SIZE 协议方法。
        public const string GetFileSize = "SIZE";
        //
        // 摘要:
        //     表示将具有唯一名称的文件上载到 FTP 服务器的 FTP STOU 协议。
        public const string UploadFileWithUniqueName = "STOU";
        //
        // 摘要:
        //     表示 FTP MKD 协议方法在 FTP 服务器上创建一个目录。
        public const string MakeDirectory = "MKD";
        //
        // 摘要:
        //     代表删除目录的 FTP RMD 协议方法。
        public const string RemoveDirectory = "RMD";
        /// <summary>
        /// 改变服务器当前目录
        /// </summary>
        public const string ChangeDirectory = "CWD";
        //
        // 摘要:
        //     代表获取 FTP 服务器上的文件的详细的列表的 FTP LIST 协议方法。
        public const string ListDirectoryDetails = "LIST";
        //
        // 摘要:
        //     表示要用于从 FTP 服务器上的文件检索日期时间戳的 FTP MDTM 协议方法。
        public const string GetDateTimestamp = "MDTM";
        //
        // 摘要:
        //     代表打印当前工作目录的名称的 FTP PWD 协议方法。
        public const string PrintWorkingDirectory = "PWD";
        //
        // 摘要:
        //     表示重命名一个目录的 FTP RENAME 协议方法。
        public const string Rename = "RENAME";
        /// <summary>
        /// 断开服务链接
        /// </summary>
        public const string BreakLink = "QUIT";
    }
}
